package com.easyadmin.modules.stock.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import lombok.Data;

/**
 * 股票策略表
 * 
 * @author wanzenghui
 * @email lemon_wan@aliyun.com
 * @date 2025-04-03 20:54:57
 */
@Data
@TableName("sys_model_strategy")
public class SysModelStrategyEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 策略id
	 */
	@TableId
	private Integer id;
	/**
	 * 策略的当前状态，如激活、暂停、禁用等
	 */
	private String status;
	/**
	 * 策略名称 用于标识和命名不同的交易策略
	 */
	private String strategyName;
	/**
	 * 简要描述交易策略的目标、原则和方法
	 */
	private String strategyDesc;
	/**
	 * 指明策略所适用的资产类型，如股票、期货、外汇、加密货币等
	 */
	private String assetClass;
	/**
	 * 定义何时应该买入资产的规则或条件
	 */
	private String entryRules;
	/**
	 * 定义何时应该卖出资产的规则或条件
	 */
	private String exitRules;
	/**
	 * 包括止损点、仓位管理、资金管理等风险控制措施
	 */
	private String riskManage;
	/**
	 * 记录策略过去的表现，如收益率、最大回撤等。
	 */
	private String histPerfor;
	/**
	 * 如趋势跟踪、反转交易、套利交易、量化策略等。
	 */
	private String strategyType;
	/**
	 * 策略适用的时间周期，如日内交易、短线交易、中线交易、长线交易等。
	 */
	private String timeFrame;
	/**
	 * 策略的平均交易频率或周期。 天周月年
	 */
	private String tradFrequency;
	/**
	 * 策略中使用的技术指标或模型。
	 */
	private String technicalIndicators;
	/**
	 * 如果是基本面策略，会包括考虑的公司财务、行业分析等因素。
	 */
	private String fundamentalFactors;
	/**
	 * 策略中使用的各种参数值，如移动平均线的周期、相对强弱指数(RSI)的阈值等。
	 */
	private String parameterSettings;
	/**
	 * 策略的创建或修改时间。
	 */
	private LocalDateTime createDate;
	/**
	 * 任何其他重要的备注或注释
	 */
	private String remark;
	/**
	 * 包含产品
	 */
	private String include;
	/**
	 * 资金容量（万）
	 */
	private String capacitance;

}
